package com.travelsky.flash.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import com.travelsky.flash.util.log.FlashLogger;

/**
 * @Description 序列化到文件中
 * @author syuan
 * @date 2015年5月29日  下午2:12:22
 * Company: TravelSky
 */
public class ObjectFileUtil {
	
	private static FlashLogger logger = new FlashLogger(ObjectFileUtil.class);
	
	/**
	 * @Description 写Object
	 * @param obj
	 * @param path
	 * @author syuan
	 * @date 2015年5月29日  下午2:12:40
	 */
	public static void writeObject(Object obj, String path) {
		File file = new File(path);
		ObjectOutputStream os = null;
        try {
        	os = new ObjectOutputStream(new FileOutputStream(file));
			os.writeObject(obj);
		} catch (IOException e) {
			logger.error("", e);
		} finally {
			try {
				os.close();
			} catch (IOException e) {
				logger.error("", e);
			} 
		}
        
	}
	
	/**
	 * @Description 读Object
	 * @param path
	 * @return
	 * @author syuan
	 * @date 2015年5月29日  下午2:15:44
	 */
	public static Object readObject(String path) {
		File file = new File(path);
		ObjectInputStream ois = null;
		Object obj = null;
		try {
			ois = new ObjectInputStream(new FileInputStream(file));
			obj = ois.readObject();
		} catch (ClassNotFoundException e) {
			logger.error("", e);
		} catch (IOException e) {
			logger.error("", e);
		} finally {
			try {
				ois.close();
			} catch (IOException e) {
				logger.error("", e);
			}
		}
		
		return obj;
	}
}
